/*****************************************************************************/
/*                                                                           */
/*    Domino Operation System Kernel Module                                  */
/*                                                                           */
/*    Copyright (C) 2005 Laszlo Arvai                                        */
/*                                                                           */
/*    ------------------------------------------------------------------     */
/*    krnlMessageMap.H - Message Map                                         */
/*****************************************************************************/
#ifndef __krnlMessageMap_H
#define __krnlMessageMap_H

///////////////////////////////////////////////////////////////////////////////
// Includes
#include "krnlMessageQueue.h"

///////////////////////////////////////////////////////////////////////////////
// Types

// Message handler function prototype
typedef void(*krnlMessageHandlerFunction)(krnlMessage* in_message);

// Message Map Entry
struct krnlMessageMapEntry
{
  dosWord Mask;
  dosWord Id;
  krnlMessageHandlerFunction Function;
};

///////////////////////////////////////////////////////////////////////////////
// Function prototypes
void krnlDispatchMessage(krnlMessage* in_message);
void krnlIdleHandlers(void);

#endif
